<!DOCTYPE HTML>

<html lang="en">
<head>

<title>SignatureAlgorithm (spring-security-docs 5.6.3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="SignatureAlgorithm (spring-security-docs 5.6.3 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":9,"i1":10,"i2":9,"i3":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">

<div class="topNav"><a id="navbar.top">

</a>
<div class="skipNav"><a href="SignatureAlgorithm.html#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="SignatureAlgorithm.html#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="SignatureAlgorithm.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="SignatureAlgorithm.html#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="SignatureAlgorithm.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">

</a></div>

</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>

<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.springframework.security.oauth2.jose.jws</a></div>
<h2 title="Enum SignatureAlgorithm" class="title">Enum SignatureAlgorithm</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.springframework.security.oauth2.jose.jws.SignatureAlgorithm</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code>, <code>java.lang.Comparable&lt;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a>&gt;</code>, <code><a href="../JwaAlgorithm.html" title="interface in org.springframework.security.oauth2.jose">JwaAlgorithm</a></code>, <code><a href="JwsAlgorithm.html" title="interface in org.springframework.security.oauth2.jose.jws">JwsAlgorithm</a></code></dd>
</dl>
<hr>
<pre>public enum <span class="typeNameLabel">SignatureAlgorithm</span>
extends java.lang.Enum&lt;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a>&gt;
implements <a href="JwsAlgorithm.html" title="interface in org.springframework.security.oauth2.jose.jws">JwsAlgorithm</a></pre>
<div class="block">An enumeration of the cryptographic algorithms defined by the JSON Web Algorithms (JWA)
specification and used by JSON Web Signature (JWS) to digitally sign the contents of
the JWS Protected Header and JWS Payload.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.2</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="JwsAlgorithm.html" title="interface in org.springframework.security.oauth2.jose.jws"><code>JwsAlgorithm</code></a>,
<a target="_blank" href="https://tools.ietf.org/html/rfc7518">JSON Web Algorithms
(JWA)</a>,
<a target="_blank" href="https://tools.ietf.org/html/rfc7515">JSON Web Signature
(JWS)</a>,
<a target="_blank" href="https://tools.ietf.org/html/rfc7518#section-3">Cryptographic Algorithms for Digital
Signatures and MACs</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.summary">

</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum Constant</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#ES256">ES256</a></span></code></th>
<td class="colLast">
<div class="block">ECDSA using P-256 and SHA-256 (Recommended+)</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#ES384">ES384</a></span></code></th>
<td class="colLast">
<div class="block">ECDSA using P-384 and SHA-384 (Optional)</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#ES512">ES512</a></span></code></th>
<td class="colLast">
<div class="block">ECDSA using P-521 and SHA-512 (Optional)</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#PS256">PS256</a></span></code></th>
<td class="colLast">
<div class="block">RSASSA-PSS using SHA-256 and MGF1 with SHA-256 (Optional)</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#PS384">PS384</a></span></code></th>
<td class="colLast">
<div class="block">RSASSA-PSS using SHA-384 and MGF1 with SHA-384 (Optional)</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#PS512">PS512</a></span></code></th>
<td class="colLast">
<div class="block">RSASSA-PSS using SHA-512 and MGF1 with SHA-512 (Optional)</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#RS256">RS256</a></span></code></th>
<td class="colLast">
<div class="block">RSASSA-PKCS1-v1_5 using SHA-256 (Recommended)</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#RS384">RS384</a></span></code></th>
<td class="colLast">
<div class="block">RSASSA-PKCS1-v1_5 using SHA-384 (Optional)</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#RS512">RS512</a></span></code></th>
<td class="colLast">
<div class="block">RSASSA-PKCS1-v1_5 using SHA-512 (Optional)</div>
</td>
</tr>
</table>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">

</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#from(java.lang.String)">from</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Attempt to resolve the provided algorithm name to a <code>SignatureAlgorithm</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the algorithm name.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#valueOf(java.lang.String)">valueOf</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SignatureAlgorithm.html#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Enum">

</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">

</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.detail">

</a>
<h3>Enum Constant Detail</h3>
<a id="RS256">

</a>
<ul class="blockList">
<li class="blockList">
<h4>RS256</h4>
<pre>public static final&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a> RS256</pre>
<div class="block">RSASSA-PKCS1-v1_5 using SHA-256 (Recommended)</div>
</li>
</ul>
<a id="RS384">

</a>
<ul class="blockList">
<li class="blockList">
<h4>RS384</h4>
<pre>public static final&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a> RS384</pre>
<div class="block">RSASSA-PKCS1-v1_5 using SHA-384 (Optional)</div>
</li>
</ul>
<a id="RS512">

</a>
<ul class="blockList">
<li class="blockList">
<h4>RS512</h4>
<pre>public static final&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a> RS512</pre>
<div class="block">RSASSA-PKCS1-v1_5 using SHA-512 (Optional)</div>
</li>
</ul>
<a id="ES256">

</a>
<ul class="blockList">
<li class="blockList">
<h4>ES256</h4>
<pre>public static final&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a> ES256</pre>
<div class="block">ECDSA using P-256 and SHA-256 (Recommended+)</div>
</li>
</ul>
<a id="ES384">

</a>
<ul class="blockList">
<li class="blockList">
<h4>ES384</h4>
<pre>public static final&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a> ES384</pre>
<div class="block">ECDSA using P-384 and SHA-384 (Optional)</div>
</li>
</ul>
<a id="ES512">

</a>
<ul class="blockList">
<li class="blockList">
<h4>ES512</h4>
<pre>public static final&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a> ES512</pre>
<div class="block">ECDSA using P-521 and SHA-512 (Optional)</div>
</li>
</ul>
<a id="PS256">

</a>
<ul class="blockList">
<li class="blockList">
<h4>PS256</h4>
<pre>public static final&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a> PS256</pre>
<div class="block">RSASSA-PSS using SHA-256 and MGF1 with SHA-256 (Optional)</div>
</li>
</ul>
<a id="PS384">

</a>
<ul class="blockList">
<li class="blockList">
<h4>PS384</h4>
<pre>public static final&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a> PS384</pre>
<div class="block">RSASSA-PSS using SHA-384 and MGF1 with SHA-384 (Optional)</div>
</li>
</ul>
<a id="PS512">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PS512</h4>
<pre>public static final&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a> PS512</pre>
<div class="block">RSASSA-PSS using SHA-512 and MGF1 with SHA-512 (Optional)</div>
</li>
</ul>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">

</a>
<h3>Method Detail</h3>
<a id="values()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>for (SignatureAlgorithm c : SignatureAlgorithm.values())
&nbsp;   System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a id="valueOf(java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a>&nbsp;valueOf&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
</dl>
</li>
</ul>
<a id="getName()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getName()</pre>
<div class="block">Returns the algorithm name.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../JwaAlgorithm.html#getName()">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../JwaAlgorithm.html" title="interface in org.springframework.security.oauth2.jose">JwaAlgorithm</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the algorithm name</dd>
</dl>
</li>
</ul>
<a id="from(java.lang.String)">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>from</h4>
<pre class="methodSignature">public static&nbsp;<a href="SignatureAlgorithm.html" title="enum in org.springframework.security.oauth2.jose.jws">SignatureAlgorithm</a>&nbsp;from&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Attempt to resolve the provided algorithm name to a <code>SignatureAlgorithm</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the algorithm name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the resolved <code>SignatureAlgorithm</code>, or <code>null</code> if not found</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>

<footer role="contentinfo">
<nav role="navigation">

<div class="bottomNav"><a id="navbar.bottom">

</a>
<div class="skipNav"><a href="SignatureAlgorithm.html#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="SignatureAlgorithm.html#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="SignatureAlgorithm.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="SignatureAlgorithm.html#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="SignatureAlgorithm.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">

</a></div>

</nav>
</footer>
<script>if (window.parent == window) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-2728886-23', 'auto', {'siteSpeedSampleRate': 100});ga('send', 'pageview');}</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"7040f796fef897cf","token":"bffcb8a918ae4755926f76178bfbd26b","version":"2021.12.0","si":100}' crossorigin="anonymous"></script>
</body>
</html>
